Viral marketing object oriented system and method

ABSTRACT

The present invention involves a web site advertising placement system and method which identifies web sites unaffiliated with the advertiser and related to a topic being advertised to provide advertising links that refer to unaffiliated web sites.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. application Ser. No. 13/372,090, filedFeb. 13, 2012, which claims priority to U.S. Provisional applicationSer. No. 61/442,746, filed Feb. 14, 2011, the entire disclosure of eachof which is incorporated by reference herein.

BACKGROUND OF THE INVENTION Field of the Invention

The invention relates to search engine software. More specifically, thefield of the invention is that of search engine software for servingadvertising content to web sites.

Description of the Related Art

Site-targeted advertising is used by advertisers to displayadvertisements on internet web sites. Run by search engine companies,the site-targeting advertising allows advertisers to use keywords,domain names, topics, and demographic targeting preferences so thatadvertisements are dynamically placed on search results and web sites onrelevant sites or with relevant users. U.S. Pat. Nos. 6,983,272;7,577,665; 7,739,295; and 7,860,871; and United States PatentPublications Nos. 2009/0157523; 2010/0250370; and 2010/0306249; alldisclose such site-targeted advertising systems, the disclosures ofwhich are incorporated by reference herein.

Viral marketing and viral advertising refer to marketing techniques thatuse pre-existing social networks to produce increases in brand awarenessor to achieve other marketing objectives (such as product sales) throughself-replicating viral processes, analogous to the spread of virus orcomputer viruses. It can be word-of-mouth delivered or enhanced by thenetwork effects of the Internet. Viral promotions may take the form ofvideo clips, interactive Flash games, advergames, ebooks, brandablesoftware, images, or even text messages.

The goal of marketers interested in creating successful viral marketingprograms is often to identify individuals with high social networkingattraction through their posts, blogs, or other user generated contentand create viral messages that appeal to this segment of the populationthat place high credibility in the source of the social networkingactivities and thus have a high probability of accepting and identifyingwith the messages provided by those individuals.

The term “viral marketing” has also been used pejoratively to refer tostealth marketing campaigns—the unscrupulous use of astroturfing on-linecombined with undermarket advertising in shopping centers to create theimpression of spontaneous word of mouth enthusiasm.

SUMMARY OF THE INVENTION

The present invention is a network content placement system and methodwhich identifies relevant social media content relating to a topic anddelivers references to that content as part of the content placement.

In one embodiment of the system of the present invention, search engineweb crawlers evaluate multiple web sites and provide content basedindexes that may be used to identify and/or classify the content of aweb site. While many web sites may be associated with particularproducts or positions, others may be independently developed and expressa relatively neutral opinion that is more highly regarded by websearchers. The search engine obtains site information (such as metadataabout the site, content of the site, cookies of the visitor the site,and/or search history of the visitor, etc.) and correlates that with thetype of content related to a particular topic that is desired to bedelivered to the viewer. In one embodiment, control panel software (thesoftware indicating how an advertiser wants to place ads) is provided toadvertisers to specify the parameters of the delivered content tocertain viewer parameters. Once a correlation is specified, theadvertiser's viral marketing strategy is used to select web links toplace on the correlated viewer for her/his web site or web site visit.Like traditional site-targeted advertising, banner ads and the like mayalso be presented. However, the systems of embodiments of the presentinvention also provide web links to third party sites that meet certaincriteria. Generally, such criteria involve positive content regardingthe advertiser's object. For example, a product advertiser would wantthe visitor to see references, e.g. links or frames, to favorable thirdparty product reviews. In addition, the product advertiser generallydesires references to third party information that supports features orattractions of the product. Similarly, services and/or positions may beadvocated with such placement of relevant third party links to supportthe quality or need for the service, or aspects of the arguments infavor of a particular position on a social, political, and/or personalissue.

In addition to correlating desired content on the basis of favorabilityor unfavorability to a desired type of content, in one embodiment thesearch engine also evaluates web sites in regard to its connection tothird parties. For example, metadata about a web site indicating commonownership with a product or cause is indicative of potential bias, andthe search results may then be presented on a multi-factor scale, namelyboth the correlation with desired message content and a rating of theindependence of the content. Thus references may be further segregatedin search results by independence rating, where an advertiser orpromoter may discard non-independent content or alternatively displaythe reference to the viewer along with an explanation of the potentialbias or disclaimer of the referenced web site.

The web crawler operates in a conventional way to catalog the myriad ofweb sites available over the internet, including mobile applications(“apps”) that interact with web sites for mobile devices. In addition tothe conventional cataloging, the web crawler also evaluates web sitesfor content that is favorable to a product, service, or issue(collectively “topic”), which may be specified by one of itsadvertisers, promoters, or content providers. Such evaluation considersboth the favorability of the content as well as the relevance, and in atleast one embodiment rates the independence of the source. In someinstances, highly favorable content that has only a small portion ofrelevance to the topic may not be as desirable as less favorable contentthat is highly relevant to the topic. The advertisers, typically throughsoftware such a control panel, may specify their topics of interest aswell as the way links are placed on the placement web sites. Dependingon the advertiser and the topic, more emphasis may be placed on highlyfavorable links, highly relevant links, or traditional advertisinglinks. The advertisers may choose how and in what order to displaylinks, with a combination of traditional advertising and other linkswith defined attributes of favorability and relevance.

The evaluation process may involve an automated evaluation of relevanceand favorability by the matching of key words in appropriate contexts.Alternatively, human researchers, or “guides” that are knowledgeable inthe domain, may select particular favorable and relevant links foradvertiser's topics of interest. In some embodiments of the invention,these two methods of selection are used to augment each other, where aninitial automated screening is subsequently review and ranked forfavoritism, relevance, or other factors by a guide. In other embodimentsof the invention, guides may create a list of links which are thenquantitatively evaluated and ranked or scored. In further embodiments,combinations of guide evaluation and automated processes are used toevaluate links pertinent to the topic.

BRIEF DESCRIPTION OF THE DRAWINGS

The above mentioned and other features and objects of this invention,and the manner of attaining them, will become more apparent and theinvention itself will be better understood by reference to the followingdescription of an embodiment of the invention taken in conjunction withthe accompanying drawings, wherein:

FIG. 1 is a schematic diagrammatic view of a network system in whichembodiments of the present invention may be utilized.

FIG. 2 is a block diagram of a computing system (either a server orclient, or both, as appropriate), with optional input devices (e.g.,keyboard, mouse, touch screen, etc.) and output devices, hardware,network connections, one or more processors, and memory/storage for dataand modules, etc. which may be utilized in conjunction with embodimentsof the present invention.

FIG. 3 is a schematic diagrammatic view of a web advertising server inone embodiment of the present invention.

FIG. 4 is a flow chart diagram of the operation of the present inventionrelating to the placement of web site advertisements.

Corresponding reference characters indicate corresponding partsthroughout the several views. Although the drawings representembodiments of the present invention, the drawings are not necessarilyto scale and certain features may be exaggerated in order to betterillustrate and explain the present invention. The flow charts and screenshots are also representative in nature, and actual embodiments of theinvention may include further features or steps not shown in thedrawings. The exemplification set out herein illustrates an embodimentof the invention, in one form, and such exemplifications are not to beconstrued as limiting the scope of the invention in any manner.

DESCRIPTION OF THE EMBODIMENTS OF THE PRESENT INVENTION

The embodiment disclosed below is not intended to be exhaustive or limitthe invention to the precise form disclosed in the following detaileddescription. Rather, the embodiment is chosen and described so thatothers skilled in the art may utilize its teachings.

The detailed descriptions which follow are presented in part in terms ofalgorithms and symbolic representations of operations on data bitswithin a computer memory representing alphanumeric characters or otherinformation. A computer generally includes a processor for executinginstructions and memory for storing instructions and data. When ageneral purpose computer has a series of machine encoded instructionsstored in its memory, the computer operating on such encodedinstructions may become a specific type of machine, namely a computerparticularly configured to perform the operations embodied by the seriesof instructions. Some of the instructions may be adapted to producesignals that control operation of other machines and thus may operatethrough those control signals to transform materials far removed fromthe computer itself. These descriptions and representations are themeans used by those skilled in the art of data processing arts to mosteffectively convey the substance of their work to others skilled in theart.

An algorithm is here, and generally, conceived to be a self-consistentsequence of steps leading to a desired result. These steps are thoserequiring physical manipulations of physical quantities. Usually, thoughnot necessarily, these quantities take the form of electrical ormagnetic pulses or signals capable of being stored, transferred,transformed, combined, compared, and otherwise manipulated. It provesconvenient at times, principally for reasons of common usage, to referto these signals as bits, values, symbols, characters, display data,terms, numbers, or the like as a reference to the physical items ormanifestations in which such signals are embodied or expressed. Itshould be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely used here as convenient labels applied to these quantities.

Some algorithms may use data structures for both inputting informationand producing the desired result. Data structures greatly facilitatedata management by data processing systems, and are not accessibleexcept through sophisticated software systems. Data structures are notthe information content of a memory, rather they represent specificelectronic structural elements which impart or manifest a physicalorganization on the information stored in memory. More than mereabstraction, the data structures are specific electrical or magneticstructural elements in memory which simultaneously represent complexdata accurately, often data modeling physical characteristics of relateditems, and provide increased efficiency in computer operation.

Further, the manipulations performed are often referred to in terms,such as comparing or adding, commonly associated with mental operationsperformed by a human operator. No such capability of a human operator isnecessary, or desirable in most cases, in any of the operationsdescribed herein which form part of the present invention; theoperations are machine operations. Useful machines for performing theoperations of the present invention include general purpose digitalcomputers or other similar devices. In all cases the distinction betweenthe method operations in operating a computer and the method ofcomputation itself should be recognized. The present invention relatesto a method and apparatus for operating a computer in processingelectrical or other (e.g., mechanical, chemical) physical signals togenerate other desired physical manifestations or signals. The computeroperates on software modules, which are collections of signals stored ona media that represents a series of machine instructions that enable thecomputer processor to perform the machine instructions that implementthe algorithmic steps. Such machine instructions may be the actualcomputer code the processor interprets to implement the instructions, oralternatively may be a higher level coding of the instructions that isinterpreted to obtain the actual computer code. The software module mayalso include a hardware component, wherein some aspects of the algorithmare performed by the circuitry itself rather as a result of ainstruction.

The present invention also relates to an apparatus for performing theseoperations. This apparatus may be specifically constructed for therequired purposes or it may comprise a general purpose computer asselectively activated or reconfigured by a computer program stored inthe computer. The algorithms presented herein are not inherently relatedto any particular computer or other apparatus unless explicitlyindicated as requiring particular hardware. In some cases, the computerprograms may communicate or relate to other programs or equipmentsthrough signals configured to particular protocols which may or may notrequire specific hardware or programming to interact. In particular,various general purpose machines may be used with programs written inaccordance with the teachings herein, or it may prove more convenient toconstruct more specialized apparatus to perform the required methodsteps. The required structure for a variety of these machines willappear from the description below.

The present invention may deal with “object-oriented” software, andparticularly with an “object-oriented” operating system. The“object-oriented” software is organized into “objects”, each comprisinga block of computer instructions describing various procedures(“methods”) to be performed in response to “messages” sent to the objector “events” which occur with the object. Such operations include, forexample, the manipulation of variables, the activation of an object byan external event, and the transmission of one or more messages to otherobjects.

Messages are sent and received between objects having certain functionsand knowledge to carry out processes. Messages are generated in responseto user instructions, for example, by a user activating an icon with a“mouse” pointer generating an event. Also, messages may be generated byan object in response to the receipt of a message. When one of theobjects receives a message, the object carries out an operation (amessage procedure) corresponding to the message and, if necessary,returns a result of the operation. Each object has a region whereinternal states (instance variables) of the object itself are stored andwhere the other objects are not allowed to access. One feature of theobject-oriented system is inheritance. For example, an object fordrawing a “circle” on a display may inherit functions and knowledge fromanother object for drawing a “shape” on a display.

A programmer “programs” in an object-oriented programming language bywriting individual blocks of code each of which creates an object bydefining its methods. A collection of such objects adapted tocommunicate with one another by means of messages comprises anobject-oriented program. Object-oriented computer programmingfacilitates the modeling of interactive systems in that each componentof the system can be modeled with an object, the behavior of eachcomponent being simulated by the methods of its corresponding object,and the interactions between components being simulated by messagestransmitted between objects.

An operator may stimulate a collection of interrelated objectscomprising an object-oriented program by sending a message to one of theobjects. The receipt of the message may cause the object to respond bycarrying out predetermined functions which may include sendingadditional messages to one or more other objects. The other objects mayin turn carry out additional functions in response to the messages theyreceive, including sending still more messages. In this manner,sequences of message and response may continue indefinitely or may cometo an end when all messages have been responded to and no new messagesare being sent. When modeling systems utilizing an object-orientedlanguage, a programmer need only think in terms of how each component ofa modeled system responds to a stimulus and not in terms of the sequenceof operations to be performed in response to some stimulus. Suchsequence of operations naturally flows out of the interactions betweenthe objects in response to the stimulus and need not be preordained bythe programmer.

Although object-oriented programming makes simulation of systems ofinterrelated components more intuitive, the operation of anobject-oriented program is often difficult to understand because thesequence of operations carried out by an object-oriented program isusually not immediately apparent from a software listing as in the casefor sequentially organized programs. Nor is it easy to determine how anobject-oriented program works through observation of the readilyapparent manifestations of its operation. Most of the operations carriedout by a computer in response to a program are “invisible” to anobserver since only a relatively few steps in a program typicallyproduce an observable computer output.

In the following description, several terms which are used frequentlyhave specialized meanings in the present context. The term “object”relates to a set of computer instructions and associated data which canbe activated directly or indirectly by the user. The terms “windowingenvironment”, “running in windows”, and “object oriented operatingsystem” are used to denote a computer user interface in whichinformation is manipulated and displayed on a video display such aswithin bounded regions on a raster scanned video display. The terms“network”, “local area network”, “LAN”, “wide area network”, or “WAN”mean two or more computers which are connected in such a manner thatmessages may be transmitted between the computers. In such computernetworks, typically one or more computers operate as a “server”, acomputer with large storage devices such as hard disk drives andcommunication hardware to operate peripheral devices such as printers ormodems. Other computers, termed “workstations”, provide a user interfaceso that users of computer networks can access the network resources,such as shared data files, common peripheral devices, andinter-workstation communication. Users activate computer programs ornetwork resources to create “processes” which include both the generaloperation of the computer program along with specific operatingcharacteristics determined by input variables and its environment.Similar to a process is an agent (sometimes called an intelligentagent), which is a process that gathers information or performs someother service without user intervention and on some regular schedule.Typically, an agent, using parameters typically provided by the user,searches locations either on the host machine or at some other point ona network, gathers the information relevant to the purpose of the agent,and presents it to the user on a periodic basis.

The term “desktop” means a specific user interface which presents a menuor display of objects with associated settings for the user associatedwith the desktop. When the desktop accesses a network resource, whichtypically requires an application program to execute on the remoteserver, the desktop calls an Application Program Interface, or “API”, toallow the user to provide commands to the network resource and observeany output. The term “Browser” refers to a program which is notnecessarily apparent to the user, but which is responsible fortransmitting messages between the desktop and the network server and fordisplaying and interacting with the network user. Browsers are designedto utilize a communications protocol for transmission of text andgraphic information over a world wide network of computers, namely the“World Wide Web” or simply the “Web”. Examples of Browsers compatiblewith the present invention include the Internet Explorer program sold byMicrosoft Corporation (Internet Explorer is a trademark of MicrosoftCorporation), the Opera Browser program created by Opera Software ASA,or the Firefox browser program distributed by the Mozilla Foundation(Firefox is a registered trademark of the Mozilla Foundation). Althoughthe following description details such operations in terms of a graphicuser interface of a Browser, the present invention may be practiced withtext based interfaces, or even with voice or visually activatedinterfaces, that have many of the functions of a graphic based Browser.

Browsers display information which is formatted in a StandardGeneralized Markup Language (“SGML”) or a HyperText Markup Language(“HTML”), both being scripting languages which embed non-visual codes ina text document through the use of special ASCII text codes. Files inthese formats may be easily transmitted across computer networks,including global information networks like the Internet, and allow theBrowsers to display text, images, and play audio and video recordings.The Web utilizes these data file formats to conjunction with itscommunication protocol to transmit such information between servers andworkstations. Browsers may also be programmed to display informationprovided in an eXtensible Markup Language (“XML”) file, with XML filesbeing capable of use with several Document Type Definitions (“DTD”) andthus more general in nature than SGML or HTML. The XML file may beanalogized to an object, as the data and the stylesheet formatting areseparately contained (formatting may be thought of as methods ofdisplaying information, thus an XML file has data and an associatedmethod).

The terms “personal digital assistant” or “PDA”, as defined above, meansany handheld, mobile device that combines computing, telephone, fax,e-mail and networking features. The terms “wireless wide area network”or “WWAN” mean a wireless network that serves as the medium for thetransmission of data between a handheld device and a computer. The term“synchronization” means the exchanging of information between a firstdevice, e.g. a handheld device, and a second device, e.g. a desktopcomputer, either via wires or wirelessly. Synchronization ensures thatthe data on both devices are identical (at least at the time ofsynchronization).

In wireless wide area networks, communication primarily occurs throughthe transmission of radio signals over analog, digital cellular, orpersonal communications service (“PCS”) networks. Signals may also betransmitted through microwaves and other electromagnetic waves. At thepresent time, most wireless data communication takes place acrosscellular systems using second generation technology such ascode-division multiple access (“CDMA”), time division multiple access(“TDMA”), the Global System for Mobile Communications (“GSM”), ThirdGeneration (wideband or “3G”), Fourth Generation (broadband or “4G”),personal digital cellular (“PDC”), or through packet-data technologyover analog systems such as cellular digital packet data (CDPD”) used onthe Advance Mobile Phone Service (“AMPS”).

The terms “wireless application protocol” or “WAP” mean a universalspecification to facilitate the delivery and presentation of web-baseddata on handheld and mobile devices with small user interfaces. “MobileSoftware” refers to the software operating system which allows forapplication programs to be implemented on a mobile device such as amobile telephone or PDA. Examples of Mobile Software are Java and JavaME (Java and JavaME are trademarks of Sun Microsystems, Inc. of SantaClara, Calif.), BREW (BREW is a registered trademark of QualcommIncorporated of San Diego, Calif.), Windows Mobile (Windows is aregistered trademark of Microsoft Corporation of Redmond, Wash.), PalmOS (Palm is a registered trademark of Palm, Inc. of Sunnyvale, Calif.),Symbian OS (Symbian is a registered trademark of Symbian SoftwareLimited Corporation of London, United Kingdom), ANDROID OS (ANDROID is aregistered trademark of Google, Inc. of Mountain View, Calif.), iPhoneOS (iPhone is a registered trademark of Apple, Inc. of Cupertino,Calif.), and Windows Phone 7. “Mobile Apps” refers to software programswritten for execution with Mobile Software.

In the following specification, the term “social network” may be used torefer to a multiple user computer software system that allows forrelationships among and between users (individuals or members) andcontent accessible by the system. Generally, a social network is definedby the relationships among groups of individuals, and may includerelationships ranging from casual acquaintances to close familial bonds.In addition, members may be other entities that may be linked withindividuals. The logical structure of a social network may berepresented using a graph structure. Each node of the graph maycorrespond to a member of the social network, or content accessible bythe social network. Edges connecting two nodes represent a relationshipbetween two individuals. In addition, the degree of separation betweenany two nodes is defined as the minimum number of hops required totraverse the graph from one node to the other. A degree of separationbetween two members is a measure of relatedness between the two members.

Social networks may comprise any of a variety of suitable arrangements.An entity or member of a social network may have a profile and thatprofile may represent the member in the social network. The socialnetwork may facilitate interaction between member profiles and allowassociations or relationships between member profiles. Associationsbetween member profiles may be one or more of a variety of types, suchas friend, co-worker, family member, business associate, common-interestassociation, and common-geography association. Associations may alsoinclude intermediary relationships, such as friend of a friend, anddegree of separation relationships, such as three degrees away.Associations between member profiles may be reciprocal associations. Forexample, a first member may invite another member to become associatedwith the first member and the other member may accept or reject theinvitation. A member may also categorize or weigh the association withother member profiles, such as, for example, by assigning a level to theassociation. For example, for a friendship-type association, the membermay assign a level, such as acquaintance, friend, good friend, and bestfriend, to the associations between the member's profile and othermember profiles.

Each profile within a social network may contain entries, and each entrymay comprise information associated with a profile. Examples of entriesfor a person profile may comprise contact information such as an emailaddresses, mailing address, instant messaging (or IM) name, or phonenumber; personal information such as relationship status, birth date,age, children, ethnicity, religion, political view, sense of humor,sexual orientation, fashion preferences, smoking habits, drinkinghabits, pets, hometown location, passions, sports, activities, favoritebooks, music, TV, or movie preferences, favorite cuisines; professionalinformation such as skills, career, or job description; photographs of aperson or other graphics associated with an entity; or any otherinformation or documents describing, identifying, or otherwiseassociated with a profile. Entries for a business profile may compriseindustry information such as market sector, customer base, location, orsupplier information; financial information such as net profits, networth, number of employees, stock performance; or other types ofinformation and documents associated with the business profile.

A member profile may also contain rating information associated with themember. For example, the member may be rated or scored by other membersof the social network in specific categories, such as humor,intelligence, fashion, trustworthiness, sexiness, and coolness. Amember's category ratings may be contained in the member's profile. Inone embodiment of the social network, a member may have fans. Fans maybe other members who have indicated that they are “fans” of the member.Rating information may also include the number of fans of a member andidentifiers of the fans. Rating information may also include the rate atwhich a member accumulated ratings or fans and how recently the memberhas been rated or acquired fans.

A member profile may also contain social network activity dataassociated with the member. Membership information may includeinformation about a member's login patterns to the social network, suchas the frequency that the member logs in to the social network and themember's most recent login to the social network. Membership informationmay also include information about the rate and frequency that a memberprofile gains associations to other member profiles. In a social networkthat comprises advertising or sponsorship, a member profile may containconsumer information. Consumer information may include the frequency,patterns, types, or number of purchases the member makes, or informationabout which advertisers or sponsors the member has accessed, patronized,or used.

A member profile may comprise data stored in memory. The profile, inaddition to comprising data about the member, may also comprise datarelating to others. For example, a member profile may contain anidentification of associations or virtual links with other memberprofiles. In one embodiment, a member's social network profile maycomprise a hyperlink associated with another member's profile. In onesuch association, the other member's profile may contain a reciprocalhyperlink associated with the first member's profile. A member's profilemay also contain information excerpted from another associated member'sprofile, such as a thumbnail image of the associated member, his or herage, marital status, and location, as well as an indication of thenumber of members with which the associated member is associated. In oneembodiment, a member's profile may comprise a list of other socialnetwork members' profiles with which the member wishes to be associated.

An association may be designated manually or automatically. For example,a member may designate associated members manually by selecting otherprofiles and indicating an association that may be recorded in themember's profile. According to one embodiment, associations may beestablished by an invitation and an acceptance of the invitation. Forexample, a first user may send an invitation to a second user invitingthe second user to form an association with the first user. The seconduser may accept or reject the invitation. According to one embodiment,if the second user rejects the invitation, a one-way association may beformed between the first user and the second user. According to anotherembodiment, if the second user rejects the association, no associationmay be formed between the two users. Also, an association between twoprofiles may comprise an association automatically generated in responseto a predetermined number of common entries, aspects, or elements in thetwo members' profiles. In one embodiment, a member profile may beassociated with all of the other member profiles comprising apredetermined number or percentage of common entries, such as interests,hobbies, likes, dislikes, employers and/or habits. Associationsdesignated manually by members of the social network, or associationsdesignated automatically based on data input by one or more members ofthe social network, may be referred to as user established associations.

Examples of social networks include, but are not limited to, facebook,twitter, myspace, linkedin, and other systems. The exact terminology ofcertain features, such as associations, fans, profiles, etc. may varyfrom social network to social network, although there are severalfunctional features that are common to the various terms. Thus, aparticular social network may have more of less of the common featuresdescribed above. In terms of the following disclosure, generally the useof the term “social network” encompasses a system that includes one ormore of the foregoing features or their equivalents.

FIG. 1 is a high-level block diagram of a computing environment 100according to one embodiment. FIG. 1 illustrates server 110 and threeclients 112 connected by network 114. Only three clients 112 are shownin FIG. 1 in order to simplify and clarify the description. Embodimentsof the computing environment 100 may have thousands or millions ofclients 112 connected to network 114, for example the Internet. Users(not shown) may operate software 116 on one of clients 112 to both sendand receive messages network 114 via server 110 and its associatedcommunications equipment and software (not shown).

FIG. 2 depicts a block diagram of computer system 210 suitable forimplementing server 110 or client 112. Computer system 210 includes bus212 which interconnects major subsystems of computer system 210, such ascentral processor 214, system memory 217 (typically RAM, but which mayalso include ROM, flash RAM, or the like), input/output controller 218,external audio device, such as speaker system 220 via audio outputinterface 222, external device, such as display screen 224 via displayadapter 226, serial ports 228 and 230, keyboard 232 (interfaced withkeyboard controller 233), storage interface 234, disk drive 237operative to receive floppy disk 238, host bus adapter (HBA) interfacecard 235A operative to connect with Fibre Channel network 290, host busadapter (HBA) interface card 235B operative to connect to SCSI bus 239,and optical disk drive 240 operative to receive optical disk 242. Alsoincluded are mouse 246 (or other point-and-click device, coupled to bus212 via serial port 228), modem 247 (coupled to bus 212 via serial port230), and network interface 248 (coupled directly to bus 212).

Bus 212 allows data communication between central processor 214 andsystem memory 217, which may include read-only memory (ROM) or flashmemory (neither shown), and random access memory (RAM) (not shown), aspreviously noted. RAM is generally the main memory into which operatingsystem and application programs are loaded. ROM or flash memory maycontain, among other software code, Basic Input-Output system (BIOS)which controls basic hardware operation such as interaction withperipheral components. Applications resident with computer system 210are generally stored on and accessed via computer readable media, suchas hard disk drives (e.g., fixed disk 244), optical drives (e.g.,optical drive 240), floppy disk unit 237, or other storage medium.Additionally, applications may be in the form of electronic signalsmodulated in accordance with the application and data communicationtechnology when accessed via network modem 247 or interface 248 or othertelecommunications equipment (not shown).

Storage interface 234, as with other storage interfaces of computersystem 210, may connect to standard computer readable media for storageand/or retrieval of information, such as fixed disk drive 244. Fixeddisk drive 244 may be part of computer system 210 or may be separate andaccessed through other interface systems. Modem 247 may provide directconnection to remote servers via telephone link or the Internet via aninternet service provider (ISP) (not shown). Network interface 248 mayprovide direct connection to remote servers via direct network link tothe Internet via a POP (point of presence). Network interface 248 mayprovide such connection using wireless techniques, including digitalcellular telephone connection, Cellular Digital Packet Data (CDPD)connection, digital satellite data connection or the like.

Many other devices or subsystems (not shown) may be connected in asimilar manner (e.g., document scanners, digital cameras and so on).Conversely, all of the devices shown in FIG. 2 need not be present topractice the present disclosure. Devices and subsystems may beinterconnected in different ways from that shown in FIG. 2. Operation ofa computer system such as that shown in FIG. 2 is readily known in theart and is not discussed in detail in this application. Software sourceand/or object codes to implement the present disclosure may be stored incomputer-readable storage media such as one or more of system memory217, fixed disk 244, optical disk 242, or floppy disk 238. The operatingsystem provided on computer system 210 may be a variety or version ofeither MS-DOS® (MS-DOS is a registered trademark of MicrosoftCorporation of Redmond, Wash.), WINDOWS® (WINDOWS is a registeredtrademark of Microsoft Corporation of Redmond, Wash.), OS/2® (OS/2 is aregistered trademark of International Business Machines Corporation ofArmonk, N.Y.), UNIX® (UNIX is a registered trademark of X/Open CompanyLimited of Reading, United Kingdom), Linux® (Linux is a registeredtrademark of Linus Torvalds of Portland, Oreg.), or other known ordeveloped operating system.

Moreover, regarding the signals described herein, those skilled in theart recognize that a signal may be directly transmitted from a firstblock to a second block, or a signal may be modified (e.g., amplified,attenuated, delayed, latched, buffered, inverted, filtered, or otherwisemodified) between blocks. Although the signals of the above describedembodiments are characterized as transmitted from one block to the next,other embodiments of the present disclosure may include modified signalsin place of such directly transmitted signals as long as theinformational and/or functional aspect of the signal is transmittedbetween blocks. To some extent, a signal input at a second block may beconceptualized as a second signal derived from a first signal outputfrom a first block due to physical limitations of the circuitry involved(e.g., there will inevitably be some attenuation and delay). Therefore,as used herein, a second signal derived from a first signal includes thefirst signal or any modifications to the first signal, whether due tocircuit limitations or due to passage through other circuit elementswhich do not change the informational and/or final functional aspect ofthe first signal.

FIG. 3 shows an embodiment of the invention. Internet 300 (representingthe actual internet and/or other wide area networks) provides access tosites such as blogs 302, Social Networks (or “SN”) 304, third partysites 306, and other possible references to locations. Site AdvertisingServer 308 accesses such web sites for software modules crawler 310,reference server 312, and content evaluator 314. The software modulesreference server 312 and content evaluator 314 receive topics and otherinstructions from users of the search engine, e.g. content providers,advertisers, promoters, etc., through control panel topics 316. Althoughcontrol panel topics 316 is shown as part of the software modules ofreference server 312, control panel topics 316 may also represent inputfrom modules running on other machines which are transmitted overinternet 300 or by other means (wireless telecommunications, paper basedcommunication, telephony, etc.).

FIG. 4 shows a flow chart of the general operation of an embodiment ofthe present invention. Site Information step 400 involves the requestfor placement from a web site wherein the reference server checks theparameters of the web site requesting the placement. Step 400 mayinvolve the examination of content and metadata relating to therequesting web site (including data available at the web site itself andalso domain name information, third party ratings of web sites, etc.),cookies from the visitor or other visitor information (data inputimmediately preceding the placement request, prior search history,etc.), and other context information from the requesting web site. Inone embodiment, step 400 further includes a rating of independence ofthe web site from the advocate of each topic by examining the content,metadata, and external material. In the evaluation of step 400, thepresence of content in social networks and the association of the viewin a particular social network or networks may be more highly rated thancontent just generally available. Such a rating process may be conductedcompletely automatically, with software evaluating the placement andcontext of various words indicative of favorable or unfavorable opinionsabout a topic. Alternatively, human guides may be used to evaluate thefavorability. In one embodiment, software analytically assignsfavorability ratings to each web site and provides a human guide astatistical analysis of the analytical rating value for the guide tomake the ultimate determination regarding the favorability of the website to the topic.

Reference Server Control Panel step 402 involves the search engine userinputting the topic and link display parameters into reference controlpanel software so that the topic and viewer parameters are communicatedto the reference server, and optionally the independence rating. SiteInformation step 400 and Reference Server Control Panel step 402 mayoccur simultaneously or at separate times, but their results are inputdata for step 406 wherein one or more references are sent in response tothe advertisement placement request, the references being displayed aslinks or frames and ordered in accordance with the specifications thatthe search engine user has specified in the control panel software.While this exemplary embodiment involves real time software modulesimplementing the specification of topic and viewer parameters, suchspecification of topic and viewer parameters may be made through severaldifferent methods, such as wireless communication, paper basedtransaction, etc.

While this invention has been described as having an exemplary design,the present invention may be further modified within the spirit andscope of this disclosure. This application is therefore intended tocover any variations, uses, or adaptations of the invention using itsgeneral principles. Further, this application is intended to cover suchdepartures from the present disclosure as come within known or customarypractice in the art to which this invention pertains.

What is claimed is:
 1. A computer server for providing referenceplacement on sites accessible over a network by a viewer, said computercomprising: a processor and associated memory, said memory including:reference specification software module enabling the processor toreceive and store a topic specified by a user and at least one parameterrelating to the display of references relating to the specified topicfor a specified type of viewer; site information software moduleenabling said processor to obtain information relating to at least oneof a web site being visited and information relating to the viewer;content evaluation software module enabling said processor to evaluatethe favorability of content of a web page in relation to the specifiedtopic, wherein favorability relates to approving or supporting thespecified topic; and placement software module enabling said processorto send a computer file having at least one reference to a web page inresponse to a placement request wherein the reference relates to contentcorrelated to the parameter and specified topic in accordance withfavorability indicated by the content evaluation software module,wherein said content evaluation software module further enables saidprocessor to evaluate the independence of the web site from sponsors ofthe specified topic, and wherein said placement software module enablesthe processor to send a reference in the form of a frame.
 2. Thecomputer of claim 1 wherein said placement software module enables theprocessor to send a reference in the form of a link.
 3. The computer ofclaim 1 wherein said content evaluation software module further enablesthe processor to evaluate the relevance of content of a web siterelating to the specific topic.
 4. A method of using a computer to sendreference placements in response to a request from a user, said methodcomprising the steps of: receiving and storing, by a referencespecification software module, a topic specified by a user and at leastone parameter relating to the display of references relating to thespecified topic for a specified type of viewer; obtaining, siteinformation software module, information relating to at least one of aweb site being visited and information relating to the viewer;evaluating, by a content evaluation software module, the favorability ofcontent of a web page in relation to the specified topic, whereinfavorability relates to approving or supporting the specified topic; andsending, by a placement software module, a computer file having at leastone reference to a web page in response to a placement request whereinthe reference relates to content correlated to the parameter andspecified topic in accordance with favorability indicated by the contentevaluation software module, wherein said content evaluation softwaremodule further enables said processor to evaluate the independence ofthe web site from sponsors of the specified topic, and wherein saidplacement software module enables the processor to send a reference inthe form of a frame.